using MyHomeworkWebAPi.Models.ef;
using MyHomeworkWebAPi.Models.Request;
using MyHomeworkWebAPi.Models.response;

namespace MyHomeworkWebAPi.Services
{
    /// <summary>
    /// 评论服务接口
    /// </summary>
    public interface ICommentServices
    {
        /// <summary>
        /// 获取所有评论
        /// </summary>
        Task<List<Comment>> GetAllAsync();

        /// <summary>
        /// 根据ID获取评论
        /// </summary>
        Task<Comment?> GetByIdAsync(Guid commentId);

        /// <summary>
        /// 创建评论
        /// </summary>
        Task<Comment> CreateAsync(CommentCreateRequest request);

        /// <summary>
        /// 删除评论
        /// </summary>
        Task DeleteAsync(Guid commentId);

        /// <summary>
        /// 获取用户的评论列表
        /// </summary>
        Task<List<Comment>> GetByUserIdAsync(Guid userId);

        /// <summary>
        /// 获取商品的评论列表
        /// </summary>
        Task<List<Comment>> GetByProductIdAsync(Guid productId);

        /// <summary>
        /// 获取评论的回复列表
        /// </summary>
        Task<List<Comment>> GetRepliesAsync(Guid commentId);

        /// <summary>
        /// 获取评论统计数据
        /// </summary>
        Task<CommentStatistics> GetStatisticsAsync();
    }
} 